Da se upoznamo sa osnovama Shiny aplikacije
Da rekreiramo web aplikaciju repopsi
Da publikujemo aplikaciju koristeći Shinyapps.io
Shiny je paket RStudio-a koji se koristi za pravljenje interaktivnih web aplikacija uz pomoć R programskog jezika.
Možete da napravite aplikaciju na posebnoj web stranici kao što je slučaj sa repopsi ili da vam bude deo R Markdown dokumenta ili da pravite takozvane Shiny dashboards. Možete takođe da unapredite Shiny aplikaciju uz pomoć CSS tema, htmlwidgets-a, ili JavaScript-a.
Shiny aplikacije se lako kreiraju. Nisu neophodne veštine za izradu web stranica. Ali ukoliko ih imate još bolje.
Kod za Shiny aplikaciju ima tri dela:
Prvo ćemo instalirati shiny paket i ostale pakete koji su neophodni za aplikaciju.
install.packages("shiny") #za shiny aplikaciju
install.packages("shinythemes") # teme koje ulepšavaju izgled aplikacije
install.packages("shinyWidgets") # uredjivanje dugmića ili nekih drugih delova aplikacije
install.packages("tidyverse") # za obradu i pripremanje podataka za vizuelni prikaz
install.packages("DT") # odličan paket za pravljenje tabela
install.packages("gsheet") # koristi se za uvoz google sheets
install.packages("writexl") # koristi se u delu za skidanje podataka u excel formatu
install.packages("httr") # služi za preuzimanje i skidanje podataka u csv-u sa linka Potom ćemo uvesti biblioteke koje su nam potrebne
Idite na sledeći link.
Za ovo koristimo gsheet biblioteku
repopsi1 <-repopsi
# Koristi se za dodavanje linkova na več postojeće informacije u koloni (to je važno za funkciju datatable)
repopsi1$`Source of the original instrument` <- ifelse(is.na(repopsi1$`Source of the original instrument`),
NA, paste0("<a href='", repopsi1$`Source of the original instrument`, "' target='_blank'>",
repopsi1$`Source of the original instrument`, " </a>"))
# Koristi se za pretvaranje u aktivni link za slanje na email adresu u koloni
repopsi1$`Contact email address` <- ifelse(is.na(repopsi1$`Contact email address` ),
NA, paste0("<a href='mailto:",repopsi1$`Contact email address` , "' target='_blank'>",
repopsi1$`Contact email address` ,"</a>"))repopsi1<- repopsi1%>%
unite(`Instrument name and version`, `Title in English`, Abbreviation, Version, sep = " | ",remove = FALSE, na.rm = TRUE)%>%
select(-c(`Title in English`,Abbreviation,Version))%>%
unite(`Contact person`, `Contact person`, `Contact email address`, sep = " | ",remove = FALSE, na.rm = TRUE) %>%
select(-`Contact email address`) %>%
unite(`Where to find the instrument?`, `Instrument availability`, `Link to instrument in the Repository`, `Link to instrument outside of the Repository`, sep = " | ",remove = FALSE,na.rm = TRUE)%>%
select(-c(`Instrument availability`, `Link to instrument in the Repository`, `Link to instrument outside of the Repository`))repopsi1<- repopsi1%>%
relocate(`Where to find the instrument?`, .after = `Instrument name and version`) %>%
relocate(`Citation of the original instrument`, .after = `Where to find the instrument?`) %>%
relocate(`Citation of the translation/adaptation`, .after = `Citation of the original instrument`) %>%
relocate(Keywords, .after = `Citation of the translation/adaptation`) %>%
relocate(`Contact person`, .after = Keywords)